/* the example on page 982 */

#include <gtk/gtk.h>
/* 准备材料，自定义函数  */
	/*  comments注释  */

/* 程序主体 */
int main( int argc, char *argv[] )
{
	GtkWidget *window;
	/* 声明变量window为构件gtkwidget */
	GtkWidget *scrolled_window;
	GtkWidget *image;

	gtk_init (&argc, &argv);
	/* 初始化gtk */

	window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	/*  创建顶级窗口 */
	gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
	/*  设置窗口位置为显示器的中间 */
	gtk_window_set_default_size (GTK_WINDOW (window), 1200, 900);
	/*  设置窗口的大小，横为1200像素，竖为900像素 */
	gtk_window_set_title (GTK_WINDOW (window), "滚动窗口scrolled_window");
	/*  为窗口顶部加上标题为滚动窗口scrolled_window  */
	g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL);
	/*  为窗口加上动作，当收到destroy信号，就启动gtk_main_quit事件，gtk_main_quit就是鼠标单击窗口右上角的关闭按钮就终止程序  */
	gtk_container_set_border_width (GTK_CONTAINER (window), 0);
	/*  简单的理解是将窗口变成容器，可以装入其它构件，构件边缘与窗口边缘的距离为0像数  */

	scrolled_window = gtk_scrolled_window_new (NULL, NULL);
	/*  创建滚动窗口，自动包含水平滚动条和上下滚动条，第一个水平滚动条的调整值为NULL，第二个上下滚动条的调整值为NULL */
	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	/* 设置水平滚动条和上下滚动条都为自动出现，就是当缩水窗口就会出现滚动条了 */
	gtk_container_add (GTK_CONTAINER (window), scrolled_window);
	/* 把滚动窗口装入主窗口 */
	
	image = gtk_image_new_from_file("./982.jpeg");
	/* 从网上随便下载一张大尺寸2376x1584的图片并改名为982.jpeg，page982.c与982.jpeg要在同一个文件夹，./表示在当前文件夹 */
	gtk_container_add (GTK_CONTAINER (scrolled_window), image);
	/* 把图片装入滚动窗口 */

	gtk_widget_show_all (window);
	/*  显示构件窗口包括所有构件  */
	gtk_main ();
	/*  进入主循环，等待信号（鼠标键盘）输入  */
	return 0;
}
/* gcc pageXX.c -o pageXX `pkg-config --cflags --libs gtk+-3.0` */
